#include <memory>
#include "Socket.hpp"
#include "Log.hpp"

using namespace SocketModule;
using namespace LogMudule;

// 专门负责获取链接的模块
// 链接管理器
class Listener
{
public:
    Listener(int port)
        : _port(port)
        , _listensock(std::make_unique<TcpSocket>())
    {
        // 创建出TCP套接字
        _listensock->BuildTcpSocketMethod(_port);
    }
    void Accepter()
    {
        LOG(LogLevel::DEBUG) << "Accepter";
    }
    int Sockfd()    {return _listensock->Fd();}
    ~Listener()
    {
        _listensock->Close();
    }
private:
    int _port;
    std::unique_ptr<Socket> _listensock;
};